home *** CD-ROM | disk | FTP | other *** search
/ EuroCD 3 / EuroCD 3.iso / Programming / Python1.4_Source / SMAKEFILE < prev   
Text File  |  1998-06-24  |  8KB  |  285 lines

  1.  
  2. #
  3. #    SMakefile for Python 1.4, to compile with SAS/C.
  4. #
  5. #    Made by Irmen de Jong, 10 nov. 1995.
  6. #        updated: 25 march 1996 for use with AmiTCP
  7. #        updated: 7 may 1996, now uses 4 intermediate link libs 
  8. #        updated: 27 aug 1996, AMITCP and AMITCP_NET defines
  9. #        updated: 8 dec 1996, for Python 1.4
  10. #    
  11. #    This makefile replaces all other makefiles.
  12. #
  13. #    THIS IS THE 68020/IEEE BUILD MAKEFILE!!!
  14. #
  15. #    Note:
  16. #        check out the compilation of
  17. #        $Y/ceval.c (Uses very much memory with global optimizer)
  18. #               (Takes a very long time to compile; huge switch)
  19. #        and
  20. #        $O/longobject.c (This one won't compile using the GST?!)
  21. #
  22.  
  23.  
  24. .c.o:
  25.     $(CC) $< $(COPTS)
  26.  
  27. # The subdirs in which the object files will be:
  28. P=Parser
  29. O=Objects
  30. M=Modules
  31. Y=Python
  32.  
  33. # ye old progname:
  34. PROGRAM = Python_020_IEEE
  35.  
  36. all: message $(PROGRAM)
  37.  
  38. #
  39. # version information: (CHANGE TO REFLECT COMPILER OPTIONS!)
  40. #
  41. # NOTE: When changing this, you must recompile Python/getversion.c and
  42. #       Python/getcompiler.c! (or they will contain wrong strings)
  43. #
  44. VERSIONINFO="68020/IEEE/AmiTCP"
  45.  
  46. #
  47. # define to use mempools library
  48. # (use mempools39 to link with V39+ only pools lib => shorter & faster)
  49. #
  50. MEMPOOLSLIB=Amiga/mempools.lib
  51. #MEMPOOLSLIB=Amiga/mempools39.lib
  52. STARTUP=Amiga/c_mempools.o
  53.  
  54. #
  55. # define if NOT using mempools library
  56. #
  57. #MEMPOOLSLIB=
  58. #STARTUP=LIB:c.o
  59. #
  60.  
  61. #
  62. # define if using AMITCP
  63. #
  64. AMITCPDEF=DEFINE=AMITCP INCLUDEDIR=netinclude:
  65. AMITCPOBJECTS=$M/pwdmodule.o $M/grpmodule.o $M/cryptmodule.o $M/syslogmodule.o $M/socketmodule.o $M/selectmodule.o
  66. AMITCPLIB=Amiga/python_net.lib
  67. #
  68. # define if developing new module -> faster turnarounds
  69. # (add it to the module list if it's finished)
  70. #
  71. NEWMODULES = $M/arexxmodule.o $M/doslibmodule.o 
  72.  
  73. #
  74. # Amiga additional stuff
  75. #
  76. AMIGASTUFF=
  77.  
  78.  
  79. #
  80. # Link library configuration. Change to reflect correct math options etc.
  81. #
  82. CLIBS = $(MEMPOOLSLIB) $(AMITCPLIB) LIB:scmieee.lib LIB:sc.lib
  83.  
  84. # Set link options to thy likes.
  85. # (compiler options can be changed using scopts)
  86. LINKOPTS = SC SD BATCH NOICONS 
  87.  
  88. COPTS = $(AMITCPDEF)
  89.  
  90. P_OBJECTS = $P/acceler.o  $P/grammar1.o \
  91.         $P/myreadline.o $P/node.o $P/parser.o $P/parsetok.o \
  92.         $P/tokenizer.o $P/intrcheck.o
  93. M_OBJECTS = $M/config.o $M/getpath.o $M/environment.o $M/amigamodule.o \
  94.         $M/regexpr.o $M/arraymodule.o $M/structmodule.o $M/stropmodule.o \
  95.         $M/mathmodule.o $M/regexmodule.o $M/newmodule.o $M/soundex.o \
  96.         $M/timemodule.o $M/binascii.o $M/md5module.o $M/md5c.o $M/rotormodule.o \
  97.     $M/urlopmodule.o $M/operator.o $M/cmathmodule.o $M/errnomodule.o \
  98.     $M/timingmodule.o
  99. Y_OBJECTS = $Y/modsupport.o $Y/pythonrun.o $Y/errors.o $Y/bltinmodule.o \
  100.     $Y/ceval.o $Y/compile.o $Y/frozen.o $Y/getargs.o \
  101.     $Y/getcompiler.o $Y/getcopyright.o $Y/getmtime.o \
  102.     $Y/getplatform.o $Y/graminit.o $Y/import.o \
  103.     $Y/importdl.o $Y/marshal.o $Y/structmember.o $Y/sysmodule.o \
  104.     $Y/traceback.o $Y/sigcheck.o $Y/hypot.o
  105. O_OBJECTS = $O/abstract.o $O/accessobject.o $O/fileobject.o $O/floatobject.o \
  106.         $O/funcobject.o $O/intobject.o $O/listobject.o $O/longobject.o \
  107.         $O/mappingobject.o $O/methodobject.o $O/moduleobject.o $O/object.o \
  108.         $O/rangeobject.o $O/stringobject.o $O/tupleobject.o $O/typeobject.o \
  109.         $O/classobject.o $O/frameobject.o $O/sliceobject.o $O/complexobject.o \
  110.     $O/cobject.o
  111.  
  112. #
  113. # The objects are combined into link libraries.
  114. # Somehow, this makes the resulting executable some 10 Kb smaller.
  115. #
  116. $P/parser.lib: $(P_OBJECTS)
  117.     -delete $P/parser.lib
  118.     oml $P/parser.lib a <@<
  119. $(P_OBJECTS)
  120. <
  121. $Y/python.lib: $(Y_OBJECTS)
  122.     -delete $Y/python.lib
  123.     oml $Y/python.lib a <@<
  124. $(Y_OBJECTS)
  125. <
  126. $M/modules.lib: $(M_OBJECTS)
  127.     -delete $M/modules.lib
  128.     oml $M/modules.lib a <@<
  129. $(M_OBJECTS)
  130. <
  131. $O/objects.lib: $(O_OBJECTS)
  132.     -delete $O/objects.lib
  133.     oml $O/objects.lib a <@<
  134. $(O_OBJECTS)
  135. <
  136.  
  137. LIBS = $P/parser.lib $Y/python.lib $M/modules.lib $O/objects.lib $(CLIBS)
  138.  
  139.  
  140. OBJECTS=$M/main.o $Y/getversion.o $(AMITCPOBJECTS) $(NEWMODULES) $(AMIGASTUFF)
  141.  
  142. Python.GST: amiga/make_gst.c include/config.h SCOPTIONS
  143.     -delete >NIL: Python.GST
  144.     -GST >NIL: Python.GST unload
  145.     -SC amiga/make_gst.c MKGST Python.GST $(COPTS) NOOBJNAME
  146.     
  147. $(PROGRAM): Python.GST $(OBJECTS) $(LIBS)
  148.     SC Python/getversion.c NOMODIFIED $(COPTS) DEFINE=VERSIONINFO=$(VERSIONINFO)
  149.     SLINK WITH <<
  150. TO $(PROGRAM)
  151. FROM $(STARTUP)
  152. $(OBJECTS)
  153. $(LINKOPTS)
  154. LIB $(LIBS)
  155. <<
  156. #    -delete >NIL: \#?.tmp 
  157.  
  158. link:
  159.     SLINK WITH <<
  160.     TO $(PROGRAM)
  161.     FROM $(STARTUP)
  162.     $(OBJECTS)
  163.     $(LINKOPTS)
  164.     LIB $(LIBS)
  165.     <<
  166.     -delete >NIL: \#?.tmp 
  167.     
  168. clean:
  169.     -delete $P/\#?.(o|lib) quiet
  170.     -delete $O/\#?.(o|lib) quiet
  171.     -delete $M/\#?.(o|lib) quiet
  172.     -delete $Y/\#?.(o|lib) quiet
  173.     -delete $(PROGRAM) \#?.tmp QUIET
  174.     -delete Python.GST >NIL:
  175.  
  176. message:
  177.     @echo "*N****** BUILDING:   $(PROGRAM) *******N"
  178.  
  179. $P/acceler.o: $P/acceler.c
  180. $P/bitset.o: $P/bitset.c
  181. $P/firstsets.o: $P/firstsets.c
  182. $P/grammar.o: $P/grammar.c
  183. $P/grammar1.o: $P/grammar1.c
  184. $P/listnode.o: $P/listnode.c
  185. $P/myreadline.o: $P/myreadline.c
  186. $P/node.o: $P/node.c
  187. $P/parser.o: $P/parser.c $P/parser.h
  188. $P/parsetok.o: $P/parsetok.c
  189. $P/tokenizer.o: $P/tokenizer.c $P/tokenizer.h
  190. $P/intrcheck.o: $P/intrcheck.c
  191.  
  192. $M/arexxmodule.o: $M/arexxmodule.c
  193. $M/doslibmodule.o: $M/doslibmodule.c
  194. $M/amigamodule.o: $M/amigamodule.c
  195. $M/arraymodule.o: $M/arraymodule.c
  196. $M/binascii.o: $M/binascii.c
  197. $M/environment.o: $M/environment.c
  198. $M/getpath.o: $M/getpath.c
  199. $M/main.o: $M/main.c
  200. $M/mathmodule.o: $M/mathmodule.c
  201. $M/md5c.o: $M/md5c.c $M/md5.h
  202. $M/md5module.o: $M/md5module.c
  203. $M/newmodule.o: $M/newmodule.c
  204. $M/pwdmodule.o: $M/pwdmodule.c
  205. $M/cryptmodule.o: $M/cryptmodule.c
  206. $M/grpmodule.o: $M/grpmodule.c
  207. $M/syslogmodule.o: $M/syslogmodule.c
  208. $M/socketmodule.o: $M/socketmodule.c
  209. $M/selectmodule.o: $M/selectmodule.c
  210. $M/regexmodule.o: $M/regexmodule.c
  211. $M/regexpr.o: $M/regexpr.c $M/regexpr.h
  212. $M/signalmodule.o: $M/signalmodule.c
  213. $M/stropmodule.o: $M/stropmodule.c
  214. $M/structmodule.o: $M/structmodule.c
  215. $M/timemodule.o: $M/timemodule.c
  216. $M/config.o: $M/config.c
  217. $M/soundex.o: $M/soundex.c
  218. $M/rotormodule.o: $M/rotormodule.c
  219. $M/urlopmodule.o: $M/urlopmodule.c
  220. $M/operator.o: $M/operator.c
  221. $M/cmathmodule.o: $M/cmathmodule.c
  222. $M/errnomodule.o: $M/errnomodule.c
  223. $M/timingmodule.o: $M/timingmodule.c
  224.  
  225. $Y/hypot.o: $Y/hypot.c
  226. $Y/bltinmodule.o: $Y/bltinmodule.c
  227. $Y/ceval.o: $Y/ceval.c
  228.     SC $Y/ceval.c $(COPTS) NOOPTGLOBAL DEFINE=MAX_RECURSION_DEPTH=1000
  229. $Y/compile.o: $Y/compile.c
  230. $Y/errors.o: $Y/errors.c
  231. $Y/frozen.o: $Y/frozen.c
  232. $Y/fmod.o: $Y/fmod.c
  233. $Y/getargs.o: $Y/getargs.c
  234. $Y/getcompiler.o: $Y/getcompiler.c
  235.     SC $Y/getcompiler.c $(COPTS) DEFINE=VERSIONINFO=$(VERSIONINFO) $(COPTS)
  236. $Y/getcopyright.o: $Y/getcopyright.c
  237. $Y/getmtime.o: $Y/getmtime.c
  238. $Y/getopt.o: $Y/getopt.c
  239. $Y/getplatform.o: $Y/getplatform.c
  240. $Y/getversion.o: $Y/getversion.c
  241. $Y/graminit.o: $Y/graminit.c
  242. $Y/import.o: $Y/import.c
  243. $Y/importdl.o: $Y/importdl.c $Y/importdl.h
  244. $Y/marshal.o: $Y/marshal.c
  245. $Y/modsupport.o: $Y/modsupport.c
  246. $Y/mystrtoul.o: $Y/mystrtoul.c
  247. $Y/pythonrun.o: $Y/pythonrun.c
  248. $Y/structmember.o: $Y/structmember.c
  249. $Y/sysmodule.o: $Y/sysmodule.c
  250. $Y/traceback.o: $Y/traceback.c
  251. $Y/sigcheck.o: $Y/sigcheck.c
  252.     SC $Y/sigcheck.c $(COPTS) NOOPTINLINE
  253.  
  254. $O/abstract.o: $O/abstract.c
  255. $O/accessobject.o: $O/accessobject.c
  256. $O/classobject.o: $O/classobject.c
  257. $O/fileobject.o: $O/fileobject.c
  258. $O/floatobject.o: $O/floatobject.c
  259. $O/frameobject.o: $O/frameobject.c
  260. $O/funcobject.o: $O/funcobject.c
  261. $O/intobject.o: $O/intobject.c
  262. $O/listobject.o: $O/listobject.c
  263. $O/longobject.o: $O/longobject.c
  264.     SC $O/longobject.c $(COPTS) NOGST ; DOESN'T COMPILE WITH GST
  265. $O/mappingobject.o: $O/mappingobject.c
  266. $O/methodobject.o: $O/methodobject.c
  267. $O/moduleobject.o: $O/moduleobject.c
  268. $O/object.o: $O/object.c
  269. $O/rangeobject.o: $O/rangeobject.c
  270. $O/stringobject.o: $O/stringobject.c
  271. $O/sliceobject.o: $O/sliceobject.c
  272. $O/tupleobject.o: $O/tupleobject.c
  273. $O/typeobject.o: $O/typeobject.c
  274. $O/complexobject.o: $O/complexobject.c
  275. $O/cobject.o: $O/cobject.c
  276.  
  277.  
  278. $(AMITCPLIB):
  279.     execute <<
  280. cd Amiga/python_netlib
  281. smake python_net.lib
  282. rename python_net.lib /
  283. <<
  284.  
  285.